// 定义接口
const inter_url = "/user/getPageUserInfo";

// 预加载
$(document).ready(function () {
    console.log('执行');
    //初始化执行，查询全部数据
    getTableList(inter_url);
    // 初始化渲染条件选择框
    // getOptionList();
    // layUI
    layui.use('form', function() {
        var form = layui.form // 表单
        // 模糊搜索
        form.on('submit(formDemo)', function (data) {
            // 设置参数 及 请求接口
            const inter_url = "/user/getKeyWorkUserInfo?keyWork=" + data.field.keyword;
            layer.msg("搜索中...");
            getTableList(inter_url);
            return false;
        });

        // 加载表单_搜索选择框
        // form.render('select');
        getOptionList(form,"xy001");
        // select下拉框选中触发事件
        // 联动选择框
        // 根据学员状态批量查询
        form.on("select(xy)", function(data){
            var inter_url = "/user/getPageUserInfo";
            layer.msg("搜索中...");
            if (data.value == 0) {
                getTableList(inter_url);
            } else {
                // 设置参数 及 请求接口
                inter_url = "/user/findByCondition?col=" + "xy001" + "&code=" + data.value;
                getTableList(inter_url);
            }
            //alert(data.value); // 获取选中的值
        });
    })
});
// 动态渲染脚本类型下拉框
// 1.发送ajax请求得到data
// 2.将data渲染到页面上
function getOptionList(form,belong) {
    // 请求
    $.ajax({
        type:'get',
        url: "/dict/getByBelong?belong=" + belong,
        success:function(response){
            var data=response.data;
            console.log(data);
            var t = '<option value="0" selected="selected">全部</option>';
            if(data.length == 0){
                return;
            } else {
                for (i=0;i<data.length;i++) {
                    t += "<option value='"+data[i].code+"'>"+data[i].showvalue+"</option>";
                    console.log(t);
                }
            };
            // 选择执行
            switch (belong) {
                case 'xy001':
                    $("#xy").html("");
                    $("#xy").append(t);
                    console.log("sss")
                    break;
            }
            form.render('select');
        }
    })
}

// 获取表格数据
function getTableList(inter_url) {
    // 执行先清空输入框内容
    $("#keyword").val("")
    // LayUI JavaScript代码区域
    layui.use(['laypage', 'layer', 'table', 'laydate'], function () {
        var table = layui.table
            , laypage = layui.laypage //分页
            , layer = layui.layer //弹层;
            , laydate = layui.laydate

        laydate.render({
            elem: '#date1'
        });

        // 每页面显示条数
        var limitcount = 10;
        // 当前页
        var curnum = 1;

        // 创建表格
        table.render({
            elem: '#infoMag',
            height: 680,
            url: inter_url,//数据接口
            method: "GET",
            title: '驾校注册用户信息',
            page: true, //开启分页
            toolbar: '#toolbarDemo',
            limit: 10,
            limits: [10, 20, 50, 100, 1000],
            //toolbar: true,//开启工具栏，此处显示默认图标，可以自定义模板，详见文档
            parseData: function (res) {
                console.log(res);
                var count = 0;
                if (res.data == null) {
                    count = 0;
                } else {
                    count = res.data.count;
                }
                return {
                    "code": res.status, //解析接口状态
                    "msg": res.msg, //解析提示文本
                    "count": count, //解析数据长度
                    "data": res.data.data //解析数据列表
                }
            },
            cols: [
                [ //表头
                    {type: 'checkbox', fixed: 'left'},
                    {
                        field: 'userName',
                        title: '姓名',
                        width: 120,
                        sort: true,
                        fixed: 'left',
                    }, {
                    field: 'userNumber',
                    title: '学员编号',
                    width: 140
                }, {
                    field: 'sex',
                    title: '性别',
                    width: 80,
                    sort: true,
                }, {
                    field: 'idCard',
                    title: '身份证号码',
                    width: 170,
                    sort: true
                }, {
                    field: 'phone',
                    title: '联系方式',
                    width: 170,
                    sort: true
                }, {
                    field: 'email',
                    title: '邮箱',
                    width: 150,
                    sort: true
                }, {
                    field: 'xlc001',
                    title: '训练场名称',
                    width: 180,
                    sort: true
                }, {
                    field: 'xlc002',
                    title: '训练场地址',
                    width: 180,
                    sort: true
                }, {
                    field: 'staffNumber',
                    title: '所属教练',
                    width: 120,
                    sort: true
                }, {
                    field: 'xy001',
                    title: '学员状态',
                    width: 120,
                    sort: true,
                }, {
                    field: 'jk001',
                    title: '驾考状态',
                    width: 100
                }, {
                    field: 'createTime',
                    title: '注册时间',
                    width: 120
                }, {
                    fixed: 'right',
                    title: '操作',
                    width: 200,
                    align: 'center',
                    toolbar: '#barArray'
                }, {
                    fixed: 'user_id',
                    hide: true,
                }, {
                    fixed: 'wxOpenId',
                    hide: true
                }
                ]
            ],
            done: function (res, curr, count) {
                // 开启分页
                laypage.render({
                    elem: '#infoMag', //分页容器的id
                    count: count, //总条数
                    curr: curr,
                    limit: limitcount, //当前页显示数据
                    skin: '#1E9FFF', //自定义选中色值
                    jump: function (obj, first) {
                        if (!first) {
                            curnum = obj.curr;
                            limitcount = obj.limit;
                            layer.msg('第' + obj.curr + '页', {
                                offset: 'b'
                            });
                        }
                    }
                })
            }
        });

        //头工具栏事件
        table.on('toolbar(test)', function(obj){
            var checkStatus = table.checkStatus(obj.config.id);
            switch(obj.event){
                case 'getCheckData':
                    var data = checkStatus.data;
                    if (data.length == 0) {
                        layer.alert('请先勾选再删除');
                        console.log(data.length);
                        return;
                    }
                    layer.confirm('是否确认批量删除？',function(index){
                        var array = new Array();
                        for (var i = 0;i < data.length;i++){
                            array.push(data[i].user_id);
                        }
                        $.ajax({
                            type:'post',
                            url: "/user/delByBatchUser",
                            dataType:'json',
                            traditional:true,//这个参数必须添加，采用传统方式转换
                            data: {
                                "array": array
                            },
                            success:function(response){
                                var code=response.data;
                                if (code >= 1) {
                                        layer.alert(JSON.stringify("删除了  " + code + "  条的记录！"));
                                    // 刷新当前界面
                                    getTableList("/user/getPageUserInfo");
                                } else {
                                    layer.alert(JSON.stringify("删除失败"));
                                }
                            }
                        })
                        // layer.alert(JSON.stringify(data));
                        layer.close(index);
                    })
                    break;
                case 'addUser':
                    // 弹出新增学员
                    console.log('新增学员');
                    openAddUser();
                    break;
                //自定义头工具栏右侧图标 - 提示
                case 'LAYTABLE_TIPS':
                    layer.alert('这是工具栏右侧自定义的一个图标按钮');
                    break;
            };
        });

        //监听行工具事件
        table.on('tool(test)', function(obj){
            var data = obj.data;
            //console.log(obj)
            if(obj.event === 'del'){
                layer.confirm('真的删除行么', function(index){
                    var userName = data.userName;
                    $.ajax({
                        type:'post',
                            url: "/user/delByIdUser",
                        data: {
                            "user_id": data.user_id
                        },
                        success:function(response){
                            var code=response.data;
                            if (code == 1) {
                                layer.alert(JSON.stringify("删除了" + userName + "的记录！"));
                                // 刷新当前界面
                                getTableList("/user/getPageUserInfo");
                            } else {
                                layer.alert(JSON.stringify("删除失败"));
                            }
                        }
                    })
                    layer.close(index);
                });
            } else if(obj.event === 'edit'){
                openUpdate(obj.data.user_id);
                // layer.close(index);
            }
        });
    });
};
// 弹出编辑窗口
function openUpdate (id) {
    layer.open({
        type: 2,
        title: "编辑学员信息",
        anim: 5,
        // closeBtn: 2,
        fixed: false,
        area: ['600px','700px'],
        shadeClose: false,
        content: ['/adminView/upUserInfo.html?user_id=' + id,'no'],
        success: function (layero, index) {
            console.log("窗口弹出");
        },
        cancel: function(index, layero) {
            getTableList("/user/getPageUserInfo");
            layer.close(index)
        }
    })
};

// 弹出 新增学员窗口
function openAddUser(){
    layer.open({
        type: 2,
        title: "添加新学员",
        anim: 2,
        // closeBtn: 2,
        fixed: false,
        area: ['600px','500px'],
        shadeClose: false,
        content: ['/adminView/add-user.html','no'],
        success: function (layero, index) {
            console.log("窗口弹出");
        },
        cancel: function(index, layero) {
            getTableList("/user/getPageUserInfo");
            layer.close(index)
        }
    })
}
